​​Swift ile Basit Bir To-do List Uygulaması Nasıl Yapılır?

​​Swift ile Basit Bir To-do List Uygulaması Nasıl Yapılır?

22/11/2021 9:46

Caner Onat, Mobilist

Bu blog yazımızda, basit düzeyde bir to-do list uygulamasının nasıl yapılabileceğine değineceğiz.

Uygulamayı VIPER mimarisiyle RxSwift, RxCocoa ve Realm kütüphanelerini kullanarak yapacağız. İlk olarak, projemizin temelini oluşturalım. Bu noktada hatırlatmakta fayda var: Bir versiyon kontrol sistemi kullanmıyorsanız hemen kullanmaya başlamak iyi bir fikir.

Projede örnek oluşması adına iki tane bağlılık yönetisi kullanıyoruz. Bunlardan biri COCOAPODS bir diğeri ise SPM’dir. Buradan da anlaşılabildiği gibi, birden fazla bağımlılık yönetisi kullanmakta bir sakınca bulunmuyor.

Bağımlılık yöneticileri ile ilgili ayrıntılı bilgiye ulaşın: https://github.com/caneronat/todolistapp/commits/feature/basic-files

İlgili podları kurduktan sonra, VIPER mimarsına uygun olarak her sayfa için ViewController, Presenter, Interactor, Entities ve Router sayfalarını oluşturmaya başlıyoruz.

Uygulamada, temel olarak Splash, Home, Detail, AddTask ve UpdateTask sayfaları mevcuttur. Bu sayfalarla ilgili işlem yaparken oluşturmuş olduğumuz commitleri inceleyin:

Splash Sayfası:

https://github.com/caneronat/todolistapp/tree/feature/splash-screen

Home Sayfası:

https://github.com/caneronat/todolistapp/tree/feature/home-screen

Detail Sayfası:

https://github.com/caneronat/todolistapp/tree/feature/detail-screen

AddTask Sayfası:

https://github.com/caneronat/todolistapp/tree/feature/add-task-screen

UpdateTask Sayfası:

https://github.com/caneronat/todolistapp/tree/feature/update-task-screen

Bu blog yazımızda, konunun temelini anlatabilmek için yalnızca Home Page kısmına odaklanacağız. Diğer sayfalar da, benzer bir şekilde tasarlanmaktadır.

https://medium.com/media/03fee4211210fe10b5e4e3b590adff52/href

Öncelikli olarak ViewController kısmına bakalım: Bu sayfada tableview ve view mevcuttur. Tableview girilen to-do listesini göstermek için oluşturmuştur. View ise tableview yokken emptyview görevi görmektedir. Burada sadece presenterden gelecek verileri kullanıyor ve farklı bir işlem yapmıyoruz.

https://medium.com/media/7de770bf0a88500b1e0603e7bfb53b54/href

Presenter kısmında ise view controller ve interactor arasındaki bağlantıyı gerçekleştirmektedir. Interactordan aldığı verileri, view controller ile paylaşarak ve view controllerın kullanmasını sağlıyoruz.

https://medium.com/media/253dc698f2b15b6a650b8e620c50a56d/href

Interactor sayfasında ise fetch, update gibi işlemler yapılmaktadır.

https://medium.com/media/7efa95b9ee0486ae304fea71bf504f9e/href

Router ise uygulamanın sayfalarının ne zaman gösterileceğine karar verdiğimiz kısımdır. Buna göre sayfalar gösterilmektedir.

https://medium.com/media/9f2b16034ca7b51ade5da6cbd38163ef/href

Kısaca verdiğimiz bu bilgiler ile projenin sonuna geliyoruz. Son haline aşağıdan ulaşın:

GitHub - caneronat/todolistapp


​​Swift ile Basit Bir To-do List Uygulaması Nasıl Yapılır? was originally published in mobilist_labs on Medium, where people are continuing the conversation by highlighting and responding to this story.